<template>

    <div>
        <h4 class="lighter">
            <i class="ace-icon fa fa-hand-o-right icon-animated-hand-pointer blue"></i>
            <router-link to="/business/course" class="pink"> {{course.name}} </router-link>：
            <i class="ace-icon fa fa-hand-o-right icon-animated-hand-pointer blue"></i>
            <router-link to="/business/chapter" class="pink"> {{chapter.name}} </router-link>
        </h4>
        <hr>
        <!--新增章节按钮-->
        <p>
            <button v-on:click="add()" class="btn btn-white btn-default btn-round">
                <i class="ace-icon fa fa-edit"></i>
                新增
            </button>
        </p>
        <!--新增章节按钮--END-->

        <!--详细列表-->
        <table id="simple-table" class="table  table-bordered table-hover">
            <thead>
            <tr>
               <th>小节名称</th>
               <th>vod</th>
               <th>时长</th>
               <th>类型</th>
               <th>排序</th>
              <th>操作</th>
            </tr>
            </thead>
            <tbody>
            <tr v-for="section in sections">
                <!--<td>{{section.id}}</td>-->
                <td>{{section.title}}</td>
                <td>{{section.vod}}</td>
                <td>{{section.time | formatSecond}}</td>
                <td>{{SECTION_CHARGE | optionKV(section.charge)}}</td>
                <td>{{section.sort}}</td>
                <td>
                    <div class="hidden-sm hidden-xs btn-group">

                        <button v-on:click="play(section)" class="btn btn-xs btn-info">
                            <i class="ace-icon fa fa-video-camera bigger-120"></i>
                        </button>

                        <!--编辑-->
                        <button v-on:click="edit(section)" class="btn btn-xs btn-info">
                            <i class="ace-icon fa fa-pencil bigger-120"></i>
                        </button>
                        <!--删除,通过id来删除-->
                        <button v-on:click="del(section.id)" class="btn btn-xs btn-danger">
                            <i class="ace-icon fa fa-trash-o bigger-120"></i>
                        </button>
                    </div>
                    <!--隐藏按钮-->
                    <div class="hidden-md hidden-lg">
                        <div class="inline pos-rel">
                            <button class="btn btn-minier btn-primary dropdown-toggle" data-toggle="dropdown"
                                    data-position="auto">
                                <i class="ace-icon fa fa-cog icon-only bigger-110"></i>
                            </button>
                            <ul class="dropdown-menu dropdown-only-icon dropdown-yellow dropdown-menu-right dropdown-caret dropdown-close">
                                <li>
                                    <a href="#" class="tooltip-info" data-rel="tooltip" title="View">
                                      <span class="blue"><i class="ace-icon fa fa-search-plus bigger-120"></i></span>
                                    </a>
                                </li>
                                <li>
                                    <a href="#" class="tooltip-success" data-rel="tooltip" title="Edit">
                                      <span class="green"><i class="ace-icon fa fa-pencil-square-o bigger-120"></i></span>
                                    </a>
                                </li>
                                <li>
                                    <a href="#" class="tooltip-error" data-rel="tooltip" title="Delete">
                                      <span class="red"><i class="ace-icon fa fa-trash-o bigger-120"></i></span>
                                    </a>
                                </li>
                            </ul>
                        </div>
                    </div>
                </td>
            </tr>
            </tbody>
        </table>
        <!--详细列表-END-->
        <!--分页组件-->
        <pagination ref="pagination" v-bind:list="list" v-bind:itemCount="8"></pagination>
        <!--分页组件--END-->

        <!--模态框-->
        <div id="form-modal" class="modal fade" tabindex="-1" role="dialog">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span
                                aria-hidden="true">&times;</span></button>
                        <h4 class="modal-title">新增小节</h4>
                    </div>
                    <div class="modal-body">

                        <!--弹出框内容-->
                        <form class="form-horizontal">

                            <div class="form-group">
                              <label class="col-sm-2 control-label">标题</label>
                              <div class="col-sm-10">
                                <input v-model="section.title" class="form-control">
                              </div>
                            </div>
                            <!--<div class="form-group">-->
                              <!--<label class="col-sm-2 control-label">课程</label>-->
                              <!--<div class="col-sm-10">-->
                                  <!--<p class="form-control-static">{{course.name}}</p>-->
                              <!--</div>-->
                            <!--</div>-->
                            <!--<div class="form-group">-->
                              <!--<label class="col-sm-2 control-label">大章</label>-->
                              <!--<div class="col-sm-10">-->
                                  <!--<p class="form-control-static">{{chapter.name}}</p>-->
                              <!--</div>-->
                            <!--</div>-->
                            <div class="form-group">
                              <label class="col-sm-2 control-label">视频</label>
                              <div class="col-sm-10">

                                  <vod
                                          v-bind:suffixs="['mp4']"
                                          v-bind:use="FILE_USE.COURSE.key"
                                          v-bind:input-id="'video-upload'"
                                          v-bind:text="'上传视频'"
                                          v-bind:after-upload="afterUpload">
                                  </vod>
                                  <div v-show="section.video" class="row">
                                      <div class="col-md-10">
                                          <!--<player v-bind:player-id="'form-player-div'"
                                                  ref="player"></player>

                                          <video v-bind:src="section.video" id="video" controls="controls" class="hidden"></video>-->
                                          <player ref="player"></player>
                                          <video v-bind:src="section.video" id="video" controls="controls" class="hidden"></video>
                                      </div>
                                  </div>

                              </div>
                            </div>
                            <!--<div class="form-group">-->
                              <!--<label class="col-sm-2 control-label">时长</label>-->
                              <!--<div class="col-sm-10">-->
                                <!--<input v-model="section.time" class="form-control" disabled>-->
                              <!--</div>-->
                            <!--</div>-->

                            <!--<div class="form-group">-->
                                <!--<label class="col-sm-2 control-label">视频</label>-->
                                <!--<div class="col-sm-10">-->
                                    <!--<input v-model="section.video" class="form-control" disabled>-->
                                <!--</div>-->
                            <!--</div>-->
                            <!--<div class="form-group">-->
                                <!--<label class="col-sm-2 control-label">VOD</label>-->
                                <!--<div class="col-sm-10">-->
                                    <!--<input v-model="section.vod" class="form-control" disabled>-->
                                <!--</div>-->
                            <!--</div>-->
                            <div class="form-group">
                              <label class="col-sm-2 control-label">类型</label>
                              <div class="col-sm-10">
                                  <select v-model="section.charge" class="form-control">
                                      <option v-for="o in SECTION_CHARGE" v-bind:value="o.key">{{o.value}}</option>
                                  </select>
                              </div>
                            </div>
                            <div class="form-group">
                              <label class="col-sm-2 control-label">排序</label>
                              <div class="col-sm-10">
                                <input v-model="section.sort" class="form-control">
                              </div>
                            </div>
                        </form>
                        <!--弹出框内容--END-->
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
                        <button v-on:click="save()" type="button" class="btn btn-primary">保存</button>
                    </div>
                </div><!-- /.modal-content -->
            </div><!-- /.modal-dialog -->
        </div><!-- /.modal -->
        <!--模态框--END-->

        <modal-player ref="modalPlayer"></modal-player>

    </div>
</template>

<script>
    import Pagination from "../../components/pagination.vue";
    import BigFile from "../../components/big-file";
    import Vod from "../../components/vod";
    import Player from "../../components/player";
    import ModalPlayer from "../../components/modal-player";

    export default {
        components: {Pagination,BigFile,Vod,Player,ModalPlayer  },
        name: 'section',
        data: function () {
            return {
                section: {}, //映射表单数据
                sections: [],
                SECTION_CHARGE: SECTION_CHARGE,
                course: {},
                chapter: {},
                FILE_USE: FILE_USE,
            }
        },
        mounted: function () {
            let _this = this;

            let course = SessionStorage.get(SESSION_KEY_COURSE) || {};
            let chapter = SessionStorage.get(SESSION_KEY_CHAPTER) || {};
            if (Tool.isEmpty(course) || Tool.isEmpty(chapter)) {
                _this.$router.push("/welcome");
            }
            _this.course = course;
            _this.chapter = chapter;

            _this.list(1);
        },
        methods: {
            //添加
            add() {
                let _this = this;
                _this.section = {}; //清空上一次输入的内容
                $("#form-modal").modal("show"); //让模态框显示出来
            },

            //编辑
            edit(section) {
                let _this = this;
                _this.section = $.extend({}, section); //将传递过来一行数据section赋值给_this.section
                $("#form-modal").modal("show"); //让模态框显示出来

            },

            //查询节记录
            list(page) {
                let _this = this;
                Loading.show(); //缓冲提示
                _this.$ajax.post(process.env.VUE_APP_SERVER+'/business/admin/section/list', {
                    page: page, //第几页
                    size: _this.$refs.pagination.size, //每页查询多少条记录
                    courseId: _this.course.id,
                    chapterId: _this.chapter.id
                }).then((response) => {
                    Loading.hide();
                    console.log("查询列表结果:", response);
                    let resp = response.data;//response.data就相当于responseDto
                    _this.sections = resp.content.list;
                    _this.$refs.pagination.render(page, resp.content.total)
                })
            },

            //保存
            save() {
                let _this = this;
                _this.section.video="";

                // 保存校验
                if (1 != 1
                    || !Validator.require(_this.section.title, "标题")
                    || !Validator.length(_this.section.title, "标题", 1, 50)
                    || !Validator.length(_this.section.video, "视频", 1, 200)
                ) {
                    return;
                }

                _this.section.courseId = _this.course.id;
                _this.section.chapterId = _this.chapter.id;


                Loading.show();
                _this.$ajax.post(process.env.VUE_APP_SERVER+'/business/admin/section/save', _this.section).then((response) => {
                    console.log("保存列表结果:", response);
                    Loading.hide();
                    let resp = response.data;
                    if (resp.success) { //保存成功就将弹出框隐藏
                        $("#form-modal").modal("hide");

                        _this.list(1); //重新刷新
                        Toast.success("保存成功");
                    }
                    else {
                        Toast.warning(resp.message);
                    }
                })
            },
            //删除,传入参数id
            del(id) {
                let _this = this;
                // 确认弹出框
                Confirm.show("删除后将无法恢复，请谨慎操作！",function () {
                    _this.$ajax.delete(process.env.VUE_APP_SERVER+'/business/admin/section/delete/'+id).then((response) => {
                        console.log("删除列表结果:", response);
                        let resp = response.data;
                        if (resp.success) {
                            _this.list(1); //重新刷新
                            Toast.success("删除成功！");
                        }
                    })
                });
            },

            //回调函数
            afterUpload(resp) {
                let _this = this;
                let video = resp.content.path;
                let vod = resp.content.vod;

                _this.section.video = video;
                _this.section.vod= vod;
                _this.$refs.player.playUrl(video);
                _this.getTime();
            },

            //自动获取视频的时长
            getTime() {
                let _this = this;
                setTimeout(function () {
                    let ele = document.getElementById("video");
                    _this.section.time = parseInt(ele.duration, 10);
                }, 6000);
            },
            /**
             * 播放视频
             * @param section
             */
            play(section) {
                let _this = this;
                if (_this.section.vod ===null) {
                    Toast.warning("还未上传视频！");
                }else {
                    _this.$refs.modalPlayer.playVod(section.vod);
                }

            }

        }
    }
</script>